package com.xf.lastmall.order.api.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class OrderLogisticsVo implements Serializable {
    private static final long serialVersionUID = -2203420812449408801L;
    private String id;
    /**
     * 订单号
     */
    private String orderNo;
    private String orderSubNo;

    /**
     * 数据来源（从哪一个场的专题点入）
     */
    private String source;
    /**
     * 联系人
     */
    private String name;
    /**
     * 联系电话
     */
    private String mobile;
    /**
     * 省
     */
    private String province;
    /**
     * 市
     */
    private String city;
    /**
     * 区
     */
    private String district;
    /**
     * 详细地址
     */
    private String address;
    /**
     * 邮政编码
     */
    private String postalCode;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date shipTime;
    /**
     * 填单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deliverTime;
    /**
     * 发货渠道（圆通、中通）
     */
    private String deliverChannel;
    private String deliverChannelCode;
    /**
     * 快递单号
     */
    private String deliverNo;
    private String shipName;
    private String shipBy;
    private String deliverName;
    private String deliverBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    /**
     * 发货方式
     */
    private String signType;
    private Date signTime;
    private String cancelReason;
    private Integer deliveryType;
    /**
     * 配送方式
     * @see com.crland.mixc.mixcmarketing.enums.DeliveryWayEnum
     */
    private Integer deliveryWay;
    private Integer deliveryStatus;





    /**
     * 寄件类型
     */
    private Integer sendType;
    /**
     * 邮费
     */
    private BigDecimal fee;

    /**
     * 发货后n天自动确认收货
     * 对应商品券字段：autoConfirmDays
     * 确认收货后需要把商品券的“自动收货天数”赋值到这里
     * 其他场景，默认15天
     */
    private Integer autoConfirmDays;
}
